gtk4.git
4 years agogdk/x11: Do not set PPosition hint
Florian Müllner [Sat, 24 Jul 2021 04:32:16 +0000 (06:32 +0200)]
gdk/x11: Do not set PPosition hint

It is good practice for (floating) window managers to respect explicit
position hints from clients (as long as the window wouldn't end up
off-screen etc.).

Before commit 13d3afa56e9, GTK had a flag for setting the PPosition hint,
but now does so unconditionally. However the real intention is to *not*
request a fixed position, so don't do that.

4 years agoMerge branch 'wip/exalm/scroll-touch' into 'master'
Matthias Clasen [Wed, 7 Jul 2021 21:37:58 +0000 (21:37 +0000)]
Merge branch 'wip/exalm/scroll-touch' into 'master'

scrolledwindow: Don't check drag threshold when already scrolling

See merge request GNOME/gtk!3735

4 years agoMerge branch 'text-cursor-extents' into 'master'
Matthias Clasen [Wed, 7 Jul 2021 21:37:14 +0000 (21:37 +0000)]
Merge branch 'text-cursor-extents' into 'master'

text: Add API to compute cursor extents

See merge request GNOME/gtk!3734

4 years agoMerge branch 'wl-since' into 'master'
Matthias Clasen [Wed, 7 Jul 2021 21:36:13 +0000 (21:36 +0000)]
Merge branch 'wl-since' into 'master'

Add missing "Since: 4.X" doc tags

See merge request GNOME/gtk!3736

4 years agoAdd missing "Since: 4.X" tags
Marc-André Lureau [Wed, 7 Jul 2021 16:18:28 +0000 (20:18 +0400)]
Add missing "Since: 4.X" tags

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
4 years agotext: Add API to compute cursor extents
Florian Müllner [Tue, 6 Jul 2021 20:39:05 +0000 (22:39 +0200)]
text: Add API to compute cursor extents

The extents that correspond to the strong/weak cursor at a given
character position can be used for example to point a popover to
text in the widget.

4 years agoscrolledwindow: Don't check drag threshold when already scrolling
Alexander Mikhaylenko [Wed, 7 Jul 2021 14:39:06 +0000 (19:39 +0500)]
scrolledwindow: Don't check drag threshold when already scrolling

Checkout the drag threshold only makes sense when starting a scroll, after
that it just adds jumps when trying to scroll back and forth.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 6 Jul 2021 00:23:30 +0000 (00:23 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

gtk-demo: Add a slider to the menu example

See merge request GNOME/gtk!3733

4 years agogtk-demo: Add a slider to the menu example
Matthias Clasen [Mon, 5 Jul 2021 23:31:54 +0000 (19:31 -0400)]
gtk-demo: Add a slider to the menu example

This is a fun way to show that we can scale fast.

4 years agoMerge branch 'js-example' into 'master'
Matthias Clasen [Mon, 5 Jul 2021 20:24:30 +0000 (20:24 +0000)]
Merge branch 'js-example' into 'master'

Add a simple Javascript example

See merge request GNOME/gtk!3731

4 years agoMerge branch 'wip/remove-cloudprint' into 'master'
Matthias Clasen [Mon, 5 Jul 2021 20:21:52 +0000 (20:21 +0000)]
Merge branch 'wip/remove-cloudprint' into 'master'

Remove Google Cloud Print backend

See merge request GNOME/gtk!3729

4 years agoUpdate Romanian translation
Florentina Mușat [Mon, 5 Jul 2021 20:01:41 +0000 (20:01 +0000)]
Update Romanian translation

(cherry picked from commit 6ff90954dcca50dbf517277baed65298b6ad4e80)

4 years agoUpdate Romanian translation
Florentina Mușat [Mon, 5 Jul 2021 19:47:15 +0000 (19:47 +0000)]
Update Romanian translation

(cherry picked from commit e5bd6312bed13c36979a14f3d0c5d6bf19fa1274)

4 years agoAdd a simple Javascript example
Matthias Clasen [Mon, 5 Jul 2021 17:44:17 +0000 (13:44 -0400)]
Add a simple Javascript example

This shows how to use a layout manager in a widget,
implemented in javascript. The example sets up the
environment for running from the toplevel dir, assuming
that the build dir is called 'build'.

4 years agoRemove Google Cloud Print backend
Patrick Griffis [Mon, 5 Jul 2021 15:42:39 +0000 (10:42 -0500)]
Remove Google Cloud Print backend
This service was shut down at the start of 2021.

This helpfully removes any dependency on json-glib, librest (and libsoup).

4 years agoMerge branch 'master' into 'master'
Matthias Clasen [Mon, 5 Jul 2021 02:45:54 +0000 (02:45 +0000)]
Merge branch 'master' into 'master'

gdk: fix gtk app startup with 'g_value_set_boxed: assertion...

See merge request GNOME/gtk!3714

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sun, 4 Jul 2021 13:46:13 +0000 (13:46 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

widget-factory: Add a default button

Closes #3975

See merge request GNOME/gtk!3725

4 years agoMerge branch 'placeholder-visibility' into 'master'
Matthias Clasen [Sun, 4 Jul 2021 03:14:38 +0000 (03:14 +0000)]
Merge branch 'placeholder-visibility' into 'master'

text: Update placeholder visibility more often

Closes #4066

See merge request GNOME/gtk!3724

4 years agodocs: Fix various link formatting
Matthias Clasen [Sun, 4 Jul 2021 03:11:48 +0000 (23:11 -0400)]
docs: Fix various link formatting

Make links that gi-docgen can undestand.

Fixes: #3975
4 years agowidget-factory: Add a default button
Matthias Clasen [Sun, 4 Jul 2021 03:00:10 +0000 (23:00 -0400)]
widget-factory: Add a default button

Mark one of the buttons in the message dialog
as default, so we can see how the default appears
visually.

4 years agotext: Update placeholder visibility more often
Matthias Clasen [Sun, 4 Jul 2021 02:15:38 +0000 (22:15 -0400)]
text: Update placeholder visibility more often

We need to update the visibility of the placeholder
label when we create it, otherwise we can end up
with placeholder text on top of entry content.

Fixes: #4066
4 years agoMerge branch 'fix-filechooser-critical' into 'master'
Matthias Clasen [Sat, 3 Jul 2021 21:48:41 +0000 (21:48 +0000)]
Merge branch 'fix-filechooser-critical' into 'master'

filechooser: Avoid a critical

Closes #4077

See merge request GNOME/gtk!3722

4 years agoMerge branch 'man-page-improvement' into 'master'
Matthias Clasen [Sat, 3 Jul 2021 19:51:39 +0000 (19:51 +0000)]
Merge branch 'man-page-improvement' into 'master'

docs: Improve the gtk4-launch man page

Closes #4081

See merge request GNOME/gtk!3723

4 years agodocs: Improve the gtk4-launch man page
Matthias Clasen [Sat, 3 Jul 2021 19:22:43 +0000 (15:22 -0400)]
docs: Improve the gtk4-launch man page

Be more precise about where desktop files are found.

Fixes: #4081
4 years agofilechooser: Avoid a critical
Matthias Clasen [Sat, 3 Jul 2021 19:15:06 +0000 (15:15 -0400)]
filechooser: Avoid a critical

This was showing up when calling some filechooser api on
a native filechooser, where we use a filechooser dialog
behind the scenes, but it does not have focus.

Fixes: #4077
4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Sat, 3 Jul 2021 13:40:23 +0000 (13:40 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Cosmetics

See merge request GNOME/gtk!3721

4 years agoMerge branch 'fix-gir' into 'master'
Matthias Clasen [Sat, 3 Jul 2021 13:35:22 +0000 (13:35 +0000)]
Merge branch 'fix-gir' into 'master'

meson: Fix generate_gir() dependencies

See merge request GNOME/gtk!3701

4 years agoMerge branch 'scrolling-menus' into 'master'
Matthias Clasen [Sat, 3 Jul 2021 13:31:23 +0000 (13:31 +0000)]
Merge branch 'scrolling-menus' into 'master'

popovermenu: Scroll when necessary

See merge request GNOME/gtk!3717

4 years agoMerge branch 'rerename-mediastream' into 'master'
Benjamin Otte [Sat, 3 Jul 2021 13:28:35 +0000 (13:28 +0000)]
Merge branch 'rerename-mediastream' into 'master'

mediastream: Rename apis one more time

See merge request GNOME/gtk!3720

4 years agoCosmetics
Matthias Clasen [Sat, 3 Jul 2021 13:10:27 +0000 (09:10 -0400)]
Cosmetics

Amend LD_PRELOAD instead of replacing it, so you can just
point it at the right libgtk-4.so while running squares.py
from elsewhere.

4 years agomediastream: Rename apis one more time
Matthias Clasen [Sat, 3 Jul 2021 13:05:33 +0000 (09:05 -0400)]
mediastream: Rename apis one more time

Before we end up with names that we are unhappy with,
rename things one more time, and update all callers.

4 years agoMerge branch 'python-example' into 'master'
Matthias Clasen [Sat, 3 Jul 2021 02:03:16 +0000 (02:03 +0000)]
Merge branch 'python-example' into 'master'

Add a simple python example

See merge request GNOME/gtk!3719

4 years agoAdd a simple python example
Matthias Clasen [Sat, 3 Jul 2021 01:20:39 +0000 (21:20 -0400)]
Add a simple python example

This shows how to do custom drawing in a widget,
implemented in python. The example sets up the
environment for running from the toplevel dir,
assuming that the build dir is called 'build'.

4 years agopopovermenu: Scroll when necessary
Matthias Clasen [Fri, 2 Jul 2021 17:19:02 +0000 (13:19 -0400)]
popovermenu: Scroll when necessary

Add a scrolled window to GtkPopoverMenu, so we can scroll
long menus when there is not enough room.

4 years agoMerge branch 'wip/baedert/wat' into 'master'
Matthias Clasen [Fri, 2 Jul 2021 17:00:41 +0000 (17:00 +0000)]
Merge branch 'wip/baedert/wat' into 'master'

gtkffmediafile: Fix deprecated API usage

See merge request GNOME/gtk!3716

4 years agogtkffmediafile: Fix deprecated API usage
Timm Bäder [Fri, 2 Jul 2021 16:41:55 +0000 (18:41 +0200)]
gtkffmediafile: Fix deprecated API usage

4 years agogdk: fix gtk app startup with 'g_value_set_boxed: assertion G_VALUE_HOLDS_BOXED ...
hudeng [Fri, 2 Jul 2021 09:23:56 +0000 (17:23 +0800)]
gdk: fix gtk app startup with 'g_value_set_boxed: assertion G_VALUE_HOLDS_BOXED (value) failed error message' when xsettings use 'XSETTINGS_TYPE_COLOR' type

4 years agoMerge branch 'text-undo-test' into 'master'
Matthias Clasen [Thu, 1 Jul 2021 22:25:18 +0000 (22:25 +0000)]
Merge branch 'text-undo-test' into 'master'

Add another text history test

See merge request GNOME/gtk!3713

4 years agoAdd another text history test
Matthias Clasen [Thu, 1 Jul 2021 22:08:05 +0000 (18:08 -0400)]
Add another text history test

Add a tests that checks we group undo actions as expected
when the user is typing.

4 years agoMerge branch 'wip/chergert/fix-texthistory-grouping' into 'master'
Matthias Clasen [Thu, 1 Jul 2021 14:17:25 +0000 (14:17 +0000)]
Merge branch 'wip/chergert/fix-texthistory-grouping' into 'master'

texthistory: hoist single actions from group

Closes gnome-text-editor#97

See merge request GNOME/gtk!3711

4 years agotexthistory: hoist single actions from group
Christian Hergert [Wed, 30 Jun 2021 23:40:15 +0000 (16:40 -0700)]
texthistory: hoist single actions from group

In many cases across GtkTextBuffer, we end up with operations performed
inside of a begin/end user action. Those can be coalesced into a single
sub-action within the group, and hoisted out of the group. Doing so
increases the chances that we chain similar actions together for words.

Additionally, this fixes an issue introduced in
6179886b14eccd3034dc8121aac7b709aac073ec for #3977 where GNOME Text Editor
started to group all possible actions into a single group.

Fixes GNOME/gnome-text-editor#97

4 years agoicontheme: Fix binding annotation
Benjamin Otte [Wed, 30 Jun 2021 18:55:25 +0000 (18:55 +0000)]
icontheme: Fix binding annotation

4 years agoMerge branch 'wayland-cursor-theme' into 'master'
Matthias Clasen [Tue, 29 Jun 2021 22:17:49 +0000 (22:17 +0000)]
Merge branch 'wayland-cursor-theme' into 'master'

wayland: Look for cursor themes in $HOME

Closes #4080

See merge request GNOME/gtk!3708

4 years agowayland: Look for cursor themes in $HOME
Matthias Clasen [Tue, 29 Jun 2021 20:57:15 +0000 (16:57 -0400)]
wayland: Look for cursor themes in $HOME

We should look in the same places that libXcursor does,
so add $XDG_DATA_HOME/icons and $HOME/.icons to the list.

Fixes: #4080
4 years agoMerge branch 'more-vbo-overflow' into 'master'
Matthias Clasen [Tue, 29 Jun 2021 20:36:42 +0000 (20:36 +0000)]
Merge branch 'more-vbo-overflow' into 'master'

gsk: Use the right limit for batch size

See merge request GNOME/gtk!3707

4 years agogsk: Another vbo_size overflow fix
Matthias Clasen [Tue, 29 Jun 2021 19:22:40 +0000 (15:22 -0400)]
gsk: Another vbo_size overflow fix

We can overflow vbo_size not just by batching
too much, but also by producing humongous text
nodes. Split them up.

4 years agogsk: Use the right limit for batch size
Matthias Clasen [Tue, 29 Jun 2021 19:21:45 +0000 (15:21 -0400)]
gsk: Use the right limit for batch size

We use 16 bits, so G_MAXINT16 is one bit short.
Just make it explicit as 0xffff.

4 years agoMerge branch 'hello-world-fixup' into 'master'
Matthias Clasen [Tue, 29 Jun 2021 16:59:45 +0000 (16:59 +0000)]
Merge branch 'hello-world-fixup' into 'master'

Update hello-world.c

See merge request GNOME/gtk!3706

4 years agoUpdate hello-world.c
Matthias Clasen [Tue, 29 Jun 2021 12:01:37 +0000 (08:01 -0400)]
Update hello-world.c

Simplify the code a bit and make the window
match the existing screenshot.

4 years agoMerge branch 'avoid-batch-size-overflow' into 'master'
Matthias Clasen [Mon, 28 Jun 2021 21:35:15 +0000 (21:35 +0000)]
Merge branch 'avoid-batch-size-overflow' into 'master'

Revert "gsk: Respect max element vertices limitation"

See merge request GNOME/gtk!3704

4 years agoMerge branch 'wip/exalm/buttons' into 'master'
Matthias Clasen [Mon, 28 Jun 2021 19:10:57 +0000 (19:10 +0000)]
Merge branch 'wip/exalm/buttons' into 'master'

GtkMenuButton icon+arrow support + fixes

Closes #3501

See merge request GNOME/gtk!3694

4 years agoMerge branch 'gtklistitemfactory-autocleanup' into 'master'
Matthias Clasen [Mon, 28 Jun 2021 19:10:04 +0000 (19:10 +0000)]
Merge branch 'gtklistitemfactory-autocleanup' into 'master'

gtk: Define the GtkListItemFactory autocleanup func

See merge request GNOME/gtk!3703

4 years agogsk: Don't overflow vbo_count
Matthias Clasen [Mon, 28 Jun 2021 19:00:41 +0000 (15:00 -0400)]
gsk: Don't overflow vbo_count

We use 16 bits to store vbo_count, so we can't create
batches that have more than 65535 vertices. Pay attention
to that limit when merging batches.

4 years agoRevert "gsk: Respect max element vertices limitation"
Matthias Clasen [Mon, 28 Jun 2021 18:50:58 +0000 (14:50 -0400)]
Revert "gsk: Respect max element vertices limitation"

This reverts commit f58fc6b22e143e43b45f297795959f217a26d95f.

4 years agogtk: Define the GtkListItemFactory autocleanup func
Adrien Plazas [Mon, 28 Jun 2021 12:00:33 +0000 (14:00 +0200)]
gtk: Define the GtkListItemFactory autocleanup func

4 years agoMerge branch 'ebassi/issues-4076' into 'master'
Emmanuele Bassi [Sun, 27 Jun 2021 15:10:15 +0000 (15:10 +0000)]
Merge branch 'ebassi/issues-4076' into 'master'

docs: Use code blocks for inline XML

Closes #4076

See merge request GNOME/gtk!3702

4 years agodocs: Use code blocks for inline XML
Emmanuele Bassi [Sun, 27 Jun 2021 14:25:18 +0000 (15:25 +0100)]
docs: Use code blocks for inline XML

Otherwise the markdown renderer will just ignore them.

Fixes: #4076
4 years agoUpdate Portuguese translation
Hugo Carvalho [Sun, 27 Jun 2021 09:44:44 +0000 (09:44 +0000)]
Update Portuguese translation

(cherry picked from commit a9c68757b5c339ea4a17a03d4f20edef197c717b)

4 years agoMeson: Only g-ir-scanner warnings fatal when buit with -Dwerror=true
Xavier Claessens [Fri, 25 Jun 2021 15:11:12 +0000 (11:11 -0400)]
Meson: Only g-ir-scanner warnings fatal when buit with -Dwerror=true

Also fix deprecation warning that requires using fatal_warnings kwarg
from Meson 0.55.0.

Fixes: #4072.
4 years agomeson: Fix generate_gir() dependencies
Xavier Claessens [Fri, 25 Jun 2021 14:07:55 +0000 (10:07 -0400)]
meson: Fix generate_gir() dependencies

There is no need to search for gir variables into subprojects, they are
part of dependencies objects, meson will find them there.

4 years agomenubutton: Don't hardcode label<->arrow spacing
Alexander Mikhaylenko [Thu, 24 Jun 2021 18:12:31 +0000 (23:12 +0500)]
menubutton: Don't hardcode label<->arrow spacing

This should come from the theme instead, as it does for icon<->arrow.

4 years agomenubutton: Add a way to always show arrow with image buttons
Alexander Mikhaylenko [Mon, 21 Jun 2021 10:13:16 +0000 (15:13 +0500)]
menubutton: Add a way to always show arrow with image buttons

Make sure the button still has the .image-button style class with an icon,
also add it to the initial state with only an arrow. Add a new
.arrow-button style class for the icon+arrow state so it's possible to
style it.

Remove spacing from the label+arrow variant to match, re-add it from the
stylesheet for both.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3501

4 years agomenubutton: Remove a random g_return_if_fail()
Alexander Mikhaylenko [Mon, 21 Jun 2021 09:32:44 +0000 (14:32 +0500)]
menubutton: Remove a random g_return_if_fail()

There's already one above.

4 years agomenubutton: Reset label when setting icon name and vice versa
Alexander Mikhaylenko [Mon, 21 Jun 2021 09:08:14 +0000 (14:08 +0500)]
menubutton: Reset label when setting icon name and vice versa

Match GtkButton.

4 years agobutton: Reset style classes when setting arbitrary children
Alexander Mikhaylenko [Mon, 21 Jun 2021 08:59:28 +0000 (13:59 +0500)]
button: Reset style classes when setting arbitrary children

Don't leave leftover .image-button or .text-button.

4 years agoMerge branch 'wip/sadiq/reveal-controls-on-touch' into 'master'
Matthias Clasen [Thu, 24 Jun 2021 15:11:33 +0000 (15:11 +0000)]
Merge branch 'wip/sadiq/reveal-controls-on-touch' into 'master'

video: Reveal controls on tap

See merge request GNOME/gtk!3648

4 years agoMerge branch 'wip/chergert/gdk-macos-gdkdrop' into 'master'
Matthias Clasen [Thu, 24 Jun 2021 15:03:19 +0000 (15:03 +0000)]
Merge branch 'wip/chergert/gdk-macos-gdkdrop' into 'master'

GdkDrop suport for macOS backend

See merge request GNOME/gtk!3683

4 years agoMerge branch 'dnd-fixes' into 'master'
Matthias Clasen [Thu, 24 Jun 2021 15:01:29 +0000 (15:01 +0000)]
Merge branch 'dnd-fixes' into 'master'

dnd: Add another assertion

See merge request GNOME/gtk!3689

4 years agoMerge branch 'ebassi/filechooser-no-trash' into 'master'
Matthias Clasen [Thu, 24 Jun 2021 14:59:43 +0000 (14:59 +0000)]
Merge branch 'ebassi/filechooser-no-trash' into 'master'

Never show the Trash in the FileChooserWidget side bar

Closes #674

See merge request GNOME/gtk!3692

4 years agoMerge branch 'checkbutton-release-outside' into 'master'
Matthias Clasen [Thu, 24 Jun 2021 14:58:42 +0000 (14:58 +0000)]
Merge branch 'checkbutton-release-outside' into 'master'

checkbutton: Match GtkButton behavior

Closes #4061

See merge request GNOME/gtk!3691

4 years agoMerge branch 'fix_tests_testdnd' into 'master'
Matthias Clasen [Thu, 24 Jun 2021 14:54:32 +0000 (14:54 +0000)]
Merge branch 'fix_tests_testdnd' into 'master'

make testdnd trashcan work again

See merge request GNOME/gtk!3700

4 years agoMerge branch 'macos-input-method' into 'master'
Matthias Clasen [Thu, 24 Jun 2021 14:50:59 +0000 (14:50 +0000)]
Merge branch 'macos-input-method' into 'master'

macos: fix the position of curosr of input method for macos.

Closes #4063

See merge request GNOME/gtk!3699

4 years agomake testdnd trashcan work again
Caolán McNamara [Wed, 23 Jun 2021 14:09:44 +0000 (15:09 +0100)]
make testdnd trashcan work again

so that dragging into the 'trashcan' is detected

4 years agoMerge branch 'gtklistitem-autocleanup' into 'master'
Emmanuele Bassi [Wed, 23 Jun 2021 13:09:28 +0000 (13:09 +0000)]
Merge branch 'gtklistitem-autocleanup' into 'master'

gtk: Define the GtkListItem autocleanup func

See merge request GNOME/gtk!3698

4 years agoMerge branch 'migration_patch' into 'master'
Emmanuele Bassi [Wed, 23 Jun 2021 13:08:07 +0000 (13:08 +0000)]
Merge branch 'migration_patch' into 'master'

Add section about `gtk_widget_set_app_paintable`

Closes #4007

See merge request GNOME/gtk!3641

4 years agoAdd section about `gtk_widget_set_app_paintable`
Jaap aarts [Wed, 23 Jun 2021 13:08:06 +0000 (13:08 +0000)]
Add section about `gtk_widget_set_app_paintable`

4 years agomacos: fix the position of curosr of input method for macos.
Zhi [Mon, 21 Jun 2021 23:20:53 +0000 (07:20 +0800)]
macos: fix the position of curosr of input method for macos.

In the refactoring from GdkWindow to GdkSurface, GtkWidget no longer
corresponds to a GdkSurface. We have to calculate the relative position
from GtkWidget to the GdkSurface.

Closes #4063.

4 years agogtk: Define the GtkListItem autocleanup func
Adrien Plazas [Tue, 22 Jun 2021 07:41:18 +0000 (09:41 +0200)]
gtk: Define the GtkListItem autocleanup func

4 years agoMerge branch 'fix-pointer-gestures-kde-plasma' into 'master'
Carlos Garnacho [Mon, 21 Jun 2021 21:35:06 +0000 (21:35 +0000)]
Merge branch 'fix-pointer-gestures-kde-plasma' into 'master'

gdk/wayland: Fix pointer-gestures version selection

See merge request GNOME/gtk!3693

4 years agogdk/wayland: Fix pointer-gestures version selection
Vlad Zahorodnii [Mon, 21 Jun 2021 06:22:29 +0000 (09:22 +0300)]
gdk/wayland: Fix pointer-gestures version selection

version == GDK_ZWP_POINTER_GESTURES_V1_VERSION will fail if the
compositor implements version 2 of pointer-gestures-v1.

4 years agoNever show the Trash in the FileChooserWidget side bar
Emmanuele Bassi [Sun, 20 Jun 2021 14:39:41 +0000 (15:39 +0100)]
Never show the Trash in the FileChooserWidget side bar

The Trash is a special location: files cannot be copied or moved, there,
and the file selection dialog is not able to restore files from the
Trash.

Fixes: #674
4 years agoRevert "Never show the Trash in the FileChooserWidget side bar"
Emmanuele Bassi [Sun, 20 Jun 2021 14:41:43 +0000 (15:41 +0100)]
Revert "Never show the Trash in the FileChooserWidget side bar"

This reverts commit cd39e417e1f816e7c509f9c14e4a0b61fce81430.

4 years agoNever show the Trash in the FileChooserWidget side bar
Emmanuele Bassi [Sun, 20 Jun 2021 14:39:41 +0000 (15:39 +0100)]
Never show the Trash in the FileChooserWidget side bar

The Trash is a special location: files cannot be copied or moved, there,
and the file selection dialog is not able to restore files from the
Trash.

Fixes: #674
4 years agodocs: Fix a typo
Matthias Clasen [Sat, 19 Jun 2021 19:24:12 +0000 (12:24 -0700)]
docs: Fix a typo

4 years agodocs: Add a section about Drag-and-Drop
Matthias Clasen [Sat, 19 Jun 2021 19:23:27 +0000 (12:23 -0700)]
docs: Add a section about Drag-and-Drop

4 years agoMerge branch 'wip/chergert/textview-access-to-contexts' into 'master'
Matthias Clasen [Sat, 19 Jun 2021 20:36:44 +0000 (20:36 +0000)]
Merge branch 'wip/chergert/textview-access-to-contexts' into 'master'

textview: give application developers access to RTL and LTR context

See merge request GNOME/gtk!3690

4 years agocheckbutton: Match GtkButton behavior
Matthias Clasen [Sat, 19 Jun 2021 20:27:55 +0000 (13:27 -0700)]
checkbutton: Match GtkButton behavior

When leaving the widget before releasing the button,
we should not activate the checkbutton, to match the
way GtkButton behaves.

Fixes: #4061
4 years agotextview: give application developers access to RTL and LTR context
Christian Hergert [Sat, 19 Jun 2021 19:20:23 +0000 (12:20 -0700)]
textview: give application developers access to RTL and LTR context

This allows developers to modify the pango context that is used when
rendering text within the text view.

Such access can be useful to alter how rounding occurs with API such as
pango_context_set_round_glyph_positions() and is needed by GtkSourceView
for proper placement of glyphs within the overview map.

4 years agodocs: Tweak wording
Matthias Clasen [Sat, 19 Jun 2021 15:01:57 +0000 (08:01 -0700)]
docs: Tweak wording

Instead of drag'n'drop, say drag-and-drop. That is easier
to read, and less unclear on the markdown syntax implications.

4 years agowayland: Fix some dnd corner case
Matthias Clasen [Sat, 19 Jun 2021 13:57:38 +0000 (06:57 -0700)]
wayland: Fix some dnd corner case

We must call gdk_drag_drop_done() when the drag ends,
successfully or not. Without this, we get an unwarranted
emission of ::cancel after a successful drop.

Since only the first call to gdk_drag_drop_done() is taking
effect, it is safe to call as a fallback, after emitting
::dnd-finished. If the application connects to that signal
and calls gdk_drag_drop_done() itself, its call will take
precedence.

This matches what the X11 implementation does.

4 years agodnd: Add another assertion
Matthias Clasen [Sat, 19 Jun 2021 14:49:04 +0000 (07:49 -0700)]
dnd: Add another assertion

Assert that gdk_drop_finish() is called after the
drop is performed.

4 years agoMerge branch 'fix-3798' into 'master'
Matthias Clasen [Fri, 18 Jun 2021 17:31:51 +0000 (17:31 +0000)]
Merge branch 'fix-3798' into 'master'

GDK-Win32: Fix drag surface positioning (issue #3798)

Closes #3798

See merge request GNOME/gtk!3659

4 years agoMerge branch 'gsk-big-batches' into 'master'
Matthias Clasen [Fri, 18 Jun 2021 17:00:58 +0000 (17:00 +0000)]
Merge branch 'gsk-big-batches' into 'master'

ci: Build Broadway on MacOS

See merge request GNOME/gtk!3686

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Fri, 18 Jun 2021 14:09:49 +0000 (14:09 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

ci: Build Broadway on MacOS

See merge request GNOME/gtk!3685

4 years agogsk: Respect max element vertices limitation
Matthias Clasen [Fri, 18 Jun 2021 13:50:59 +0000 (06:50 -0700)]
gsk: Respect max element vertices limitation

We are pretty good at batching commands now, and we can easily
produce batches that exceed the maximum number of elements per
draw call that the hw can handle. Query that number, and respect
it when merging batches.

This fixes the rendering of the overview map in GtkSourceView.

4 years agoci: Build Broadway on MacOS
Matthias Clasen [Fri, 18 Jun 2021 13:08:32 +0000 (06:08 -0700)]
ci: Build Broadway on MacOS

We've seen a build failure if Broadway is built without
the X11 backend. Lets recreate that configuration in ci
so it doesn't break again.

4 years agogdkdrag-win32.c: Fix drag surface positioning
Chun-wei Fan [Fri, 18 Jun 2021 09:58:14 +0000 (17:58 +0800)]
gdkdrag-win32.c: Fix drag surface positioning

Determine the root_x and root_y coordinates of the drag surface by
relying on the coordinates of the surface where the drag is being
carried out, plus the coordinates that we receive from the drag event,
which is in-line with what the X11 backend does.

This will prevent the drag surface from being initially drawn at the
correct position, but jumping towards the top-left corner of the screen
shortly afterwards.

The DnD support will still need some more updates to function correctly
on Windows, but at least this is a small improvement.

Fixes issue #3798.

4 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Fri, 18 Jun 2021 04:37:48 +0000 (04:37 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

treeviewcolumn: Clip header buttons

Closes #4045

See merge request GNOME/gtk!3682

4 years agomacos: implement GdkDrop for macOS
Christian Hergert [Fri, 18 Jun 2021 00:23:10 +0000 (17:23 -0700)]
macos: implement GdkDrop for macOS

This gets the basic mechanics of the drop portion of DnD working on the
macOS backend. You can drag, for example, from TextEdit into GNOME
Text Editor when using the macOS backend.

Other content formats are supported, and match what is currently
supported by the clipboard backend as the implementation to read
from the pasteboard is shared.

Currently, we look up the GdkDrag for the new GdkDrop. However,
nothing is stashing the drag away for further lookup. More work is
needed on GdkMacosDrag for that to be doable.

4 years agomacos: make pasteboard usage reusable
Christian Hergert [Fri, 18 Jun 2021 00:19:19 +0000 (17:19 -0700)]
macos: make pasteboard usage reusable

We will want to be able to reuse the pasteboard reading code from
the macOS DnD drop backend. This just removes the pasteboard
bits from the implementation and allows that to be passed in as in
both clipboard and DnD cases we'll have a specific NSPasteboard
to read from.